Haptic design authoring tool

ABSTRACT

A system for authoring one or more haptic effects using a haptic effect authoring tool receives a haptification model that is based on a predetermined haptic effect style. The system receives an input that includes at least one of audio and video and a plurality of events. The system then, using the haptification model, recommends a haptic effect to be associated with a corresponding event from the input.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/282,476, filed on May 20, 2014, the specification of which is herebyincorporated by reference.

FIELD

One embodiment is directed generally to a system, and, moreparticularly, to a system that recommends haptic designs.

BACKGROUND

Haptics is a tactile and force feedback technology that takes advantageof a user's sense of touch by applying haptic feedback effects (i.e.,“haptic effects”), such as forces, vibrations, and motions, to the user.Devices, such as mobile devices, touchscreen devices, and personalcomputers, can be configured to generate haptic effects. In general,calls to embedded hardware capable of generating haptic effects (such asactuators) can be programmed within an operating system (“OS”) of thedevice. These calls specify which haptic effect to play. For example,when a user interacts with the device using, for example, a button,touchscreen, lever, joystick, wheel, or some other control, the OS ofthe device can send a play command through control circuitry to theembedded hardware. The embedded hardware then produces the appropriatehaptic effect.

Devices can be configured to coordinate the output of haptic effectswith the output of other content, such as audio, so that the hapticeffects are incorporated into the other content. For example, an audioeffect developer can develop audio effects that can be output by thedevice, such as machine gun fire, explosions, or car crashes. Further,other types of content, such as video effects, can be developed andsubsequently output by the device. A haptic effect developer cansubsequently author a haptic effect for the device, and the device canbe configured to output the haptic effect along with the other content.However, such a process generally requires manual input by the hapticeffect developer to author a haptic effect that compliments the audioeffect, or other type of content. Such a manual process can be tediousand can be time consuming.

SUMMARY

One embodiment is a system for authoring one or more haptic effectsusing a haptic effect authoring tool. The system receives ahaptification model that is based on a predetermined haptic effectstyle. The system receives an input that includes at least one of audioand video and a plurality of events. The system then, using thehaptification model, recommends a haptic effect to be associated with acorresponding event from the input.

BRIEF DESCRIPTION OF THE DRAWINGS

Further embodiments, details, advantages, and modifications will becomeapparent from the following detailed description of the preferredembodiments, which is to be taken in conjunction with the accompanyingdrawings.

FIG. 1 illustrates a block diagram of a system in accordance with oneembodiment of the invention.

FIG. 2 illustrates a block diagram of a haptic design system inaccordance with one embodiment of the invention.

FIG. 3 illustrates a flow diagram of a haptic design module, accordingto an embodiment of the invention.

FIG. 4 illustrates a Bayesian network using high level semanticdescriptors, according to an embodiment of the invention.

FIG. 5 illustrates a Bayesian network using low level descriptors,according to an embodiment of the invention.

DETAILED DESCRIPTION

One embodiment is a system that learns a haptification model based on ahaptic effect developer's prior haptic designs and uses the learnedhaptification model to recommend new haptic designs for new content suchas new multimedia clips.

FIG. 1 illustrates a block diagram of a system 10 in accordance with oneembodiment of the invention. In one embodiment, system 10 is part of ahaptic authoring device, and system 10 provides haptic designfunctionality for the haptic authoring device. Although shown as asingle system, the functionality of system 10 can be implemented as adistributed system. System 10 includes a bus 12 or other communicationmechanism for communicating information, and a processor 22 coupled tobus 12 for processing information. Processor 22 may be any type ofgeneral or specific purpose processor. System 10 further includes amemory 14 for storing information and instructions to be executed byprocessor 22. Memory 14 can be comprised of any combination of randomaccess memory (“RAM”), read only memory (“ROM”), static storage such asa magnetic or optical disk, or any other type of computer-readablemedium.

A computer-readable medium may be any available medium that can beaccessed by processor 22 and may include both a volatile and nonvolatilemedium, a removable and non-removable medium, a communication medium,and a storage medium. A communication medium may include computerreadable instructions, data structures, program modules or other data ina modulated data signal such as a carrier wave or other transportmechanism, and may include any other form of an information deliverymedium known in the art. A storage medium may include RAM, flash memory,ROM, erasable programmable read-only memory (“EPROM”), electricallyerasable programmable read-only memory (“EEPROM”), registers, hard disk,a removable disk, a compact disk read-only memory (“CD-ROM”), or anyother form of a storage medium known in the art.

In one embodiment, memory 14 stores software modules that providefunctionality when executed by processor 22. The modules include anoperating system 15 that provides operating system functionality forsystem 10, as well as the rest of a haptic authoring device in oneembodiment. The modules further include a haptic design module 16 thatrecommends haptic designs in response to an input, as disclosed in moredetail below. In certain embodiments, haptic design module 16 cancomprise a plurality of modules, where each module provides specificindividual functionality for recommending or generating haptic designs.System 10 will typically include one or more additional applicationmodules 18 to include the additional functionality, such as HapticStudio™ software by Immersion Corporation.

System 10, in embodiments that transmit and/or receive data from remotesources, further includes a communication device 20, such as a networkinterface card, to provide mobile wireless network communication, suchas infrared, radio, Wi-Fi, or cellular network communication. In otherembodiments, communication device 20 provides a wired networkconnection, such as an Ethernet connection or a modem.

Processor 22 is further coupled via bus 12 to a display 24, such as aLiquid Crystal Display (“LCD”), for displaying a graphicalrepresentation or user interface to a user. The display 24 may be atouch-sensitive input device, such as a touch screen, configured to sendand receive signals from processor 22, and may be a multi-touch touchscreen.

System 10, in one embodiment, further includes an actuator 26. Actuator26 is used for embodiments where haptic effects are generated on thesame system. Otherwise, actuator 26 can be part of another device.Processor 22 may transmit a haptic signal associated with a generatedhaptic effect to actuator 26, which in turn outputs haptic effects suchas vibrotactile haptic effects, electrostatic friction haptic effects,or deformation haptic effects. Actuator 26 includes an actuator drivecircuit. Actuator 26 may be, for example, an electric motor, anelectro-magnetic actuator, a voice coil, a shape memory alloy, anelectro-active polymer, a solenoid, an eccentric rotating mass motor(“ERM”), a linear resonant actuator (“LRA”), a piezoelectric actuator, ahigh bandwidth actuator, an electroactive polymer (“EAP”) actuator, anelectrostatic friction display, or an ultrasonic vibration generator. Inalternate embodiments, system 10 can include one or more additionalactuators, in addition to actuator 26 (not illustrated in FIG. 1).Actuator 26 is an example of a haptic output device, where a hapticoutput device is a device configured to output haptic effects, such asvibrotactile haptic effects, electrostatic friction haptic effects, ordeformation haptic effects, in response to a drive signal. In alternateembodiments, actuator 26 can be replaced by some other type of hapticoutput device. Further, in other alternate embodiments, system 10 maynot include actuator 26, and a separate device from system 10 includesan actuator, or other haptic output device, that generates the hapticeffects, and system 10 sends generated haptic signals to that devicethrough communication device 20.

System 10, in one embodiment, further includes a speaker 28. Speaker 28is used for embodiments where audio is generated on the same system.Otherwise, speaker 28 can be part of another device. Processor 22 maytransmit an audio signal to speaker 28, which in turn outputs audioeffects. Speaker 28 may be, for example, a dynamic loudspeaker, anelectrodynamic loudspeaker, a piezoelectric loudspeaker, amagnetostrictive loudspeaker, an electrostatic loudspeaker, a ribbon andplanar magnetic loudspeaker, a bending wave loudspeaker, a flat panelloudspeaker, a heil air motion transducer, a plasma arc speaker, and adigital loudspeaker. In alternate embodiments, system 10 can include oneor more additional speakers, in addition to speaker 28 (not illustratedin FIG. 1). Further, in other alternate embodiments, system 10 may notinclude speaker 28, and a separate device from system 10 includes aspeaker that outputs the audio effects, and system 10 sends audiosignals to that device through communication device 20.

System 10, in one embodiment, further includes a database 30. Database30 can be configured to provide storage for haptic design module 16 andstore haptic design data, etc.

FIG. 2 illustrates a block diagram of a haptic design system 200 inaccordance with one embodiment of the invention. Haptic design system200 includes a haptic authoring system 210, a database 220, and a hapticdesign recommender 230. Haptic design recommender 230 can be implementedusing haptic design module 16 of FIG. 1.

In operation, a designer can initially operate haptic authoring system210 to manually author a haptic effect for an event in a multimedia clip(e.g., a scene in a video or portion of audio) using, for example,haptic design software running on haptic authoring system 210. PCMsignals and/or tags representing the manually authored haptic effectsand features of their corresponding multimedia events can be stored indatabase 220 and/or transferred to haptic design recommender 230directly. In some embodiments, database 220 can be used to construct ahaptification model that can be used to generate suggested/recommendedeffects, as described in detail below. Haptic design recommender 230 candetect the effect's characteristics (e.g., duration, amplitude, shape,frequency, etc.) and can associate the haptic effect with features ofthe corresponding event in the multimedia clip occurring at the sametiming (i.e., the event targeted by the haptification) according to, forexample, the functionality described below in FIG. 3. In general, thehigh level parameters that define a particular haptic effect includemagnitude, frequency, and duration. Low level parameters such asstreaming motor commands could also be used to determine a particularhaptic effect. A haptic effect may be considered “dynamic” if itincludes some variation of these parameters when the haptic effect isgenerated or a variation of these parameters based on a user'sinteraction.

In some embodiments, the features of the multimedia event can compriseaudio features or/and visual features. These features can also capturethe dynamics of the event (e.g., a transition between the event and theparts of the clip following or preceding it). The audio features can bespectral (e.g., frequency content, Mel-frequency Cepstral Coefficients(“MELFCCs”), power per frequency band, etc.) and temporal (e.g., shape,amplitude, timing). The visual features can include, for example,histogram of color, optical flow (e.g., motion estimation of objects inthe scene), specific color pattern presence, etc. System 200 can alsocapture the dynamics of the scene (e.g., not only the event itself). Forexample, system 200 can capture if the audio amplitude is growing orreducing for the event, how the color histogram has changed throughoutthe event or the scene, etc.

In some embodiments, haptic design recommender 230 uses classificationand clustering techniques (e.g., Hidden Markov Model (“HMM”), GaussianMixture Model (“GMM”), K-means, K-Nearest Neighbors (“KNN”), BayesianNetworks, etc.) to associate a type of effects with a type of events. Insuch embodiments, when authoring a new multimedia clip, haptic designrecommender 230 can analyze the features of the new content andsuggest/recommend an effect when it detects an event similar to the onesit already has learned.

In some embodiments, haptic design recommender 230 can operate inreal-time, such as a background process in haptic design softwarerunning on haptic authoring system 210. In some embodiments, hapticdesign recommender 230 can operate off-line on previously authoredcontent, such as by reading haptic effect data saved in “Immersion”format or formats used by D-BOX Technologies Inc. In some embodiments,haptic effect recommender 230 can be adapted to different haptic effectauthors by considering only that author's previously authored effectswhen recommending effects for a new multimedia clip. Alternatively, inother embodiments, haptic effect recommender 230 can be configured toconsider multiple authors' previously authored effects when recommendingeffects for a new multimedia clip.

FIG. 3 illustrates a flow diagram of haptic design functionalityperformed by a system, according to an embodiment of the invention. Inone embodiment, the functionality of FIG. 3 is implemented by softwarestored in memory or other computer-readable or tangible media, andexecuted by a processor. In this embodiment, each functionality may beperformed by a haptic design module (such as haptic design module 16 ofFIG. 1). In other embodiments, each functionality may be performed byhardware (e.g., through the use of an application specific integratedcircuit (“ASIC”), a programmable gate array (“PGA”), a fieldprogrammable gate array (“FPGA”), etc.), or any combination of hardwareand software.

According to the embodiment, the flow begins at 310, where a usermanually authors/designs haptic effects for a multimedia clip 315 using,for example, haptic design software. The effects can correspond toevents in the multimedia clip. The flow proceeds to 320.

At 320, the user can tag the authored haptic effects and the events. Theuser can also tag the multimedia clip generally, for example, by taggingthe type or genre of the multimedia clip. In some embodiments, the useris not required to tag the effects/events and the features automaticallydetected/extracted at 340 below are used without the manually enteredtags. The flow proceeds to 330.

At 330, module 16 receives the haptic effects, events, and tags (ifprovided). The flow proceeds to 340.

At 340, module 16 automatically detects/extracts low level features(audio and/or video) from multimedia clip 315 and effectscharacteristics, from events and effects signals received at 330. Forexample, features describing each event (and its context as describedabove) can be automatically detected/extracted and then used toassociate the event to characteristics describing the correspondingeffect. The event features can include, for example, audio features(spectral and/or temporal) and/or visual ones (color and/or motioninformation). The context features can be of the same nature but lessdetailed as those discussed above. For example, an event can bedescribed using its audio frequency content and/or colors histogramvariation over the event and the scene/context can be described by theaverage audio amplitude.

In some embodiments, a combination of the two levels of descriptors(manually entered tags and automatically extracted/detected features)can be used as context information. An event/effect can be tagged by theuser and at the same time its related features can be captured. In suchembodiments, effects can then be suggested for new multimedia clipsusing a fully or semi-automatic approach for suggesting effects. Theflow proceeds to 350.

At 350, module 16 associates the haptic effects with their correspondingevent or succession of events and stores the associations in a database,such as database 30 of FIG. 1. The haptic effects can be associated withevents using, for example, high level events/effects descriptors (e.g.,semantic descriptions such as the tags manually entered at 320 andreceived at 330) or low level events/effects descriptors (e.g.,automatically detected/extracted features such as signal features).

In embodiments where tag data is received at 330, an event tagged as“first explosion in a series” can be associated, for example, with ahaptic effect tagged “strong explosion”. In another example, an eventtagged as “car engine” in a clip tagged as “music video” can beassociated with no haptic effect while the same event in an “actionvideo” clip can be associated to the haptic effect tagged “rumblingengine”. In such embodiments, the tags are assigned by the designermanually at each event/effect design. For this specific tagging task thedesigner provides tagging information that allows for capturing thecontext of each event (e.g., name of event, scene type, preceding andfollowing events, clip type, other events in foreground or background,etc.). In some embodiments, the tagging data assigned to each effect canbe basic tags (e.g., name of effect, level of intensity). The flowproceeds to 360.

At 360, module 16 constructs (or learns) a haptification model (e.g.,Bayesian models, Markovian models, etc.) using the associations ofeffects and events; the model being constructed to describe thedesigner's (user's) style. The model is used to later generatesuggested/recommended effects for new multimedia clips. The model can beinclusive to capture all the information needed (event, context andeffect). For example, in a Bayesian Network implementation with highlevel descriptors, discrete state variables can describe (one per each)the type of event, of the next or the following ones, the times to theseevents, the scene theme, etc.

In embodiments in which low level descriptors are used, the model can bemore complex as the type of event would be expressed through the modelas well. In a Bayesian Network implementation of this model, forexample, the variables are continuous and each can represent one featureof one event. An example of a Bayesian Network implementation isprovided in FIGS. 4 and 5 below. In some embodiments, the model isstored in the database. Alternatively, the model is constructed fromdata stored in the database. The flow proceeds to 370.

At 370, module 16 automatically extracts events features from a newmultimedia clip 325 and/or a user (e.g., the haptic designer) tags oneor more events in new multimedia clip 325.

At 380, module 16 uses the model to generate suggested/recommendedhaptic effects for new multimedia clip 325 or one or more events in newmultimedia clip 325. The suggestion/recommendation can be based on alikelihood estimation from the model, and can be performed in a fullyautomatic mode or a semi-automatic mode, depending on whether high level(tagging data) and/or low level (automatically extracted feature data)was used in construction of the model. For example, if low level datawas used to construct the model at 360, then haptic effectsuggestions/recommendations can be performed in a fully automaticfashion as described below. In another example, if high level data wasused to construct the model at 360, then haptic effectsuggestions/recommendations can be performed in a semi-automatic fashion(e.g., by requiring the user (designer) to tag input for events in thenew multimedia clip) as described below.

For example, in the semi-automatic mode, the designer/user will have totag the event he/she wants to haptify as well as the surrounding eventsand the scene, for example, to provide context information. Usingmachine learning algorithms, module 16 determines the most probablehaptic effect given the designer's style (driven by the model) and thedifferent states/types of the tagged events. When performing thissemi-automatic mode, the database construction is preferably performedusing the designer's tagging process described earlier at 320 and 330,with or without using the low level features. In this mode, for example,the designer can tag an event as an explosion followed by gunshots andtag the scene as “action.” Using this information, module 16 can findthe effect that best fits this configuration given the model. Becausethe model may not include all the possible configurations, somesuggestions can be based on likelihood estimation using the model. Oncethe type of effect to add is detected, module 16 can use temporalfeatures of the event to tune it accordingly (e.g., intensity,duration).

In the full automatic mode, for example, no intervention (e.g., manualinput) is required from the designer. In this mode, module 16 canautomatically analyze the features of the audio or video content and tryto associate an effect given those features. In this mode, all theevents, effects and context are described by their features andcharacteristics, and module 16 can look at the different features valuesand find the most probable set of effects characteristics using thelearned model.

In some embodiments, the recommended haptic effects are used to createhaptic effects for new multimedia clip 325 without user/designerinteraction. For example, in such embodiments, the haptic effectsrecommended at 380 by module 16 are automatically applied with respectto the new multimedia clip without human interaction (e.g., nouser/designer is needed to accept the recommendations). Such embodimentsprovide both the human touch of designer (human) authored haptic effectsrepresented in the learned haptification model as well as the speed ofautomated haptic processing.

In some embodiments, the model can be dynamic, meaning that theuser/designer can decline a suggested/recommended effect and propose anew effect and this new effect would be injected again to update themodel.

In certain embodiments, module 16 learns a personalized evolving model(e.g., one model per designer that starts from scratch and keepslearning). In other embodiments, module 16 can use a pre-loaded genericand/or static model for multiple users (e.g., for less experiencedusers, or for one user to use the model of another designer such as afamous designer).

In certain embodiments, the haptic design functionality illustrated inFIG. 3 can be performed in real time (i.e., learning while the user isdesigning effects) or can be run on pre-designed multimedia and hapticpieces. It can also be applied to tracks created using differentapproaches (e.g., tracks created using Immersion Corporation's authoringtools such as Haptic Studio, tracks created for use with D-BoxTechnology, Inc.'s devices, etc.).

FIG. 4 illustrates a Bayesian network 400 using high level semanticdescriptors, according to an embodiment of the invention. Bayesiannetwork 400 with discrete variables describes a haptic effects designmodel where the state of the different observations (shaded nodes)affects the state of the hidden variables (plain white nodes). As usedhere, observations are variables with known states (estimated by module16) while the hidden variables states are unknown and would be suggestedby the model.

In embodiments utilizing Bayesian network 400, the user tags the scenetype, the current event type, the previous event type and its relatedeffect as well as the length and strength of this effect. In suchembodiments, module 16 can use all this data in the model to calculatethe probabilities and suggest an effect of a specific type for thecurrent event as well as a strength level and a duration level for it.This calculation is based on the previous examples of events/effectsthat were fed to the model in the past.

FIG. 5 illustrates a Bayesian network 500 using low level descriptors,according to an embodiment of the invention. Bayesian network 500 withcontinuous variables describes a haptic effects design model where thestate of the different observations (shaded nodes) affects the state ofthe hidden variables (plain white nodes). As used here, observations arevariables with known states (estimated by module 16) while the hiddenvariables states are unknown and would be suggested by the model.

In embodiments utilizing Bayesian network 500, module 16 automaticallydetects/extracts the length, strength and the characteristics of theprevious event's effect (e.g., frequency, pattern, shape). In suchembodiments, module 16 also automatically detects the audio/visualfeatures of the current event (e.g. audio frequency profile, colorhistogram change etc.). In such embodiments, module 16 can use all thisdata in the model to calculate the probabilities and suggest an effectfor the current event (described by its strength, intensity and type).

Some known automatic haptic conversion algorithms from audio, videoand/or sensory data often lack the human artistic touch. The same eventin a multimedia clip can be haptified in a different way by differentdesigners given the context of the event. In contrast, embodimentscapture this human touch by associating the different designed effectsto the different multimedia events taken each in its specific context(e.g., multimedia theme, type of surrounding events, etc.). Embodimentscan then use this captured information to suggest effects whenencountering events of the same nature. For example, in an action moviewith a succession of explosions, the designer might give more importanceto the first one and haptify it with an intense effect while haptifyingthe following ones with less intensity. However, a known automaticconversion tool will assign similar effects to similar events. Incontrast, embodiments inject this context factor and artistic touch intothe automatic conversion.

As disclosed, embodiments implement a haptic design authoring tool thatmay automatically recommend haptic effects for an input multimedia clipusing a learned haptification model taking into account the artistictouch of human haptic effect designers. Thus, haptic effects can beautomatically recommended without a user/designer having to manuallydesign each haptic effect.

Several embodiments are specifically illustrated and/or describedherein. However, it will be appreciated that modifications andvariations of the disclosed embodiments are covered by the aboveteachings and within the purview of the appended claims withoutdeparting from the spirit and intended scope of the invention.

We claim:
 1. A method for authoring one or more haptic effects using ahaptic effect authoring tool, the method comprising: receiving ahaptification model that is based on a predetermined haptic effectstyle; receiving an input comprising at least one of audio and video anda plurality of events; and using the haptification model, recommending ahaptic effect to be associated with a corresponding event from theinput.
 2. The method of claim 1, wherein the predetermined haptic effectstyle is based on a haptic effect designer.
 3. The method of claim 1,wherein the haptification model is based on a plurality of predeterminedhaptic effect styles.
 4. The method of claim 3, wherein each of theplurality of predetermined haptic effect styles corresponds to adifferent haptic effect designer.
 5. The method of claim 2, wherein thepredetermined haptic effect style is based on the haptic effect designerby incorporating haptic effects that were previously authored by thehaptic effect designer.
 6. The method of claim 1, wherein thehaptification model is based on a plurality of predetermined hapticeffect styles, each style corresponding to a different type of user ofthe haptic effect authoring tool, comprising: receiving a selection froma user of the haptic effect authoring tool of one of the plurality ofpredetermined haptic effect styles to be used by the haptificationmodel.
 7. The method of claim 1, wherein the recommending comprisesautomatically associating the haptic effect to the corresponding event.8. The method of claim 1, wherein the recommended haptic effect can beaccepted or declined by a user of the haptic effect authoring tool,further comprising modifying the haptification model based on thewhether the haptic effect is accepted or declined.
 9. A computerreadable medium having instructions stored thereon that, when executedby a processor, cause the processor to author one or more haptic effectsusing a haptic effect authoring tool, the authoring comprising:receiving a haptification model that is based on a predetermined hapticeffect style; receiving an input comprising at least one of audio andvideo and a plurality of events; and using the haptification model,recommending a haptic effect to be associated with a corresponding eventfrom the input.
 10. The computer readable medium of claim 9, wherein thepredetermined haptic effect style is based on a haptic effect designer.11. The computer readable medium of claim 9, wherein the haptificationmodel is based on a plurality of predetermined haptic effect styles. 12.The computer readable medium of claim 11, wherein each of the pluralityof predetermined haptic effect styles corresponds to a different hapticeffect designer.
 13. The computer readable medium of claim 10, whereinthe predetermined haptic effect style is based on the haptic effectdesigner by incorporating haptic effects that were previously authoredby the haptic effect designer.
 14. The computer readable medium of claim9, wherein the haptification model is based on a plurality ofpredetermined haptic effect styles, each style corresponding to adifferent type of user of the haptic effect authoring tool, comprising:receiving a selection from a user of the haptic effect authoring tool ofone of the plurality of predetermined haptic effect styles to be used bythe haptification model.
 15. The computer readable medium of claim 9,wherein the recommending comprises automatically associating the hapticeffect to the corresponding event.
 16. The computer readable medium ofclaim 9, wherein the recommended haptic effect can be accepted ordeclined by a user of the haptic effect authoring tool, furthercomprising modifying the haptification model based on the whether thehaptic effect is accepted or declined.
 17. A haptic authoring systemcomprising: a processor; a database coupled to the processor and storinga haptification model that is based on a predetermined haptic effectstyle; wherein the processor executes instructions to author a hapticeffect comprising: receiving an input comprising at least one of audioand video and a plurality of events; and using the haptification model,recommending a haptic effect to be associated with a corresponding eventfrom the input.
 18. The haptic authoring system of claim 17, wherein thepredetermined haptic effect style is based on a haptic effect designer.19. The haptic authoring system of claim 17, wherein the haptificationmodel is based on a plurality of predetermined haptic effect styles. 20.The haptic authoring system of claim 19, wherein each of the pluralityof predetermined haptic effect styles corresponds to a different hapticeffect designer.
 21. The haptic authoring system of claim 17, whereinthe predetermined haptic effect style is based on the haptic effectdesigner by incorporating haptic effects that were previously authoredby the haptic effect designer.